function DCF = estimateDCF(discount_factor,price_path,initial_price,strike_price,target_price,reference_dates,conditions,equations)
    m = size(price_path);
    DCF = zeros(m(1),1);
    for i = 1:m(1)
        exercise_date = -1;
        for j = 1:length(reference_dates)
            if eval(conditions{j})
                pay_off = eval(equations{j});
                exercise_date = reference_dates(j);
                break
            end
        end
        if (exercise_date == -1)
            pay_off = eval(equations{j+1});
            exercise_date = m(2);
        end
            DCF(i) = discount_factor(exercise_date) * pay_off;
    end


